package cn.com.yusys.yusp.admin.repository.mapper;

import cn.com.yusys.yusp.admin.domain.AdminSmDataAuth;
import cn.com.yusys.yusp.commons.mapper.CommonMapper;
import cn.com.yusys.yusp.commons.mapper.QueryModel;

import java.util.List;
import java.util.Map;

/**
 * @项目名称: yusp-admin
 * @类名称: AdminSmDataAuthMapper
 * @类描述: 数据权限配置
 * @功能描述:
 * @创建人: weimei1@yusys.com.cn
 * @创建时间: 2017-12-19 11:32
 * @修改备注:
 * @修改记录: 修改时间 修改人员 修改原因
 *        -------------------------------------------------------------
 * @version 1.0.0
 * @Copyright (c) 2017宇信科技-版权所有
 */
public interface AdminSmDataAuthMapper extends CommonMapper<AdminSmDataAuth> {
    /**
     * @方法名称: getDataAuthInfo
     * @方法描述: 查询数据权限表
     * @参数与返回说明:
     * @算法描述:
     */
    List<Map<String, Object>> getDataAuthInfo(QueryModel model);

    /**
     * @方法名称: getAuthTmpl
     * @方法描述: 查询控制点可用数据权限模板
     * @参数与返回说明:
     * @算法描述:
     */
    List<Map<String, Object>> getAuthTmpl(QueryModel queryModel);

    /**
     * @方法名称: getTree
     * @方法描述: 查询左侧树
     * @参数与返回说明:
     * @算法描述:
     */
    List<Map<String, Object>> getTree();
    /**
     * @方法名称: getAllModule
     * @方法描述: 查询所有功能模块
     * @参数与返回说明:
     * @算法描述:
     */
    List<Map<String, Object>> getAllFuncMods();
    /**
     * @方法名称: getFunByModId
     * @方法描述: 根据模块Id查询所有功能点，及其下属权限控制点
     * @参数与返回说明:
     * @算法描述:
     */
    List<Map<String, Object>> getFunWithContrlByModId(String nodeId);
    /**
     * @方法名称: getDataAuthId
     * @方法描述: 根据数据权限模板编号查询引用该模板的数据权限编号
     * @参数与返回说明:
     * @算法描述:
     */
    List<String> getDataAuthId(String[] authTmplIds);

    /**
     * @方法名称: deleteDataAuth
     * @方法描述: 删除数据权限模板时对应删除引用该模板的数据
     * @参数与返回说明:
     * @算法描述:
     */
    int deleteDataInfo(String[] authTmplIds);

}
